import { createClient } from '@supabase/supabase-js'

// Supabase 配置
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL || 'https://your-project.supabase.co'
const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY || 'your-anon-key'

// 创建 Supabase 客户端
export const supabase = createClient(supabaseUrl, supabaseAnonKey, {
  auth: {
    autoRefreshToken: true,
    persistSession: true,
    detectSessionInUrl: true
  }
})

// 数据库表名常量
export const TABLES = {
  USERS: 'users',
  COURTS: 'courts',
  TIME_SLOTS: 'time_slots',
  BOOKINGS: 'bookings'
}

// 辅助函数：处理 Supabase 错误
export const handleSupabaseError = (error, defaultMessage = '操作失败') => {
  console.error('Supabase Error:', error)
  
  if (error?.message) {
    return error.message
  }
  
  return defaultMessage
}

// 辅助函数：检查用户是否已登录
export const isLoggedIn = async () => {
  const { data: { session } } = await supabase.auth.getSession()
  return !!session
}

// 辅助函数：获取当前用户
export const getCurrentUser = async () => {
  const { data: { user } } = await supabase.auth.getUser()
  return user
}
